#include <maloc.h> требуется только для объявления функции. void free(ptr); char *ptr; указатель на захваченный блок памяти.
Описание:
Функция free освобождает блок памяти. Аргумент ptr указывает на ранее захваченный блок памяти посредством вызова calloc , malloc, realloc . Числом освобожденных байтов является число байтов, определенных при захвате блока (или перезахвате). После вызова освободившийся блок доступен для захвата.
Возвращаемое значение:
Возвращаемого значения нет.
Замечание!
Попытка освободить неверный ptr (указатель не захватывается посредством вызова calloc, malloc или realloc ) может привести к следующему захвату и вызвать ошибку.
Пример.
#include <malloc.h> #include <stdio.h> char *alloc; /* захватывает 100 байтов и освобождает их */ if ((alloc=malloc(100))==NULL /* проверяет на правильность указателя */ printf("unable to allocate memory\n"); else { . . . free(alloc); /* освобождает память для heap */ }